package cm.tl.pms.entity.vo.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Size;

@Data
@ApiModel(value = "Project", description = "项目添加实体")
public class ProjectAddReq {

    @ApiModelProperty(name = "pkid")
    private Long id;

    /**
     * 项目名称
     */
    @ApiModelProperty(name = "项目名称")
    @Size(min = 1, max = 255, message = "项目名称，不能超过255个字符！")
    private String name;

    /**
     * 关联业财项目系统名称
     */
    @ApiModelProperty(name = "关联业财项目系统名称")
    private String relatedFundSystem;

    /**
     * 预算金额(万元)
     */
    @ApiModelProperty(name = "预算金额(万元)")
    private Double budgetAmount;

    /**
     * 项目类型编码
     */
    @ApiModelProperty(name = "项目类型编码")
    private Integer typeCode;

    /**
     * 业务类型
     */
    @ApiModelProperty(name = "业务类型")
    private Integer bizType;

    /**
     * 项目主管领导
     */
    @ApiModelProperty(name = "项目主管领导")
    @Size(min = 1, max = 100, message = "项目主管领导，不能超过100个字符！")
    private String projectOwner;

    /**
     * 项目负责科室
     */
    @ApiModelProperty(name = "项目负责科室")
    @Size(min = 1, max = 100, message = "项目负责科室，不能超过100个字符！")
    private String projectOwnerDepart;

    /**
     * 项目科室负责人
     */
    @ApiModelProperty(name = "项目科室负责人")
    @Size(min = 1, max = 100, message = "项目科室负责人，不能超过100个字符！")
    private String projectDepartOwner;

    /**
     * 项目联系人
     */
    @ApiModelProperty(name = "项目联系人")
    @Size(min = 1, max = 100, message = "项目联系人，不能超过100个字符！")
    private String projectContactInfo;

    /**
     * 科室负责人联系方式
     */
    @ApiModelProperty(name = "科室负责人联系方式")
    @Size(min = 1, max = 100, message = "科室负责人联系方式，不能超过100个字符！")
    private String departOwnerPhone;

    /**
     * 项目联系人联系方式
     */
    @ApiModelProperty(name = "项目联系人联系方式")
    @Size(min = 1, max = 100, message = "项目联系人联系方式，不能超过100个字符！")
    private String projectOwnerPhone;

    /**
     * 系统部署方式
     */
    @ApiModelProperty(name = "系统部署方式")
    private Integer deployment;

    /**
     * 软硬件类型
     */
    @ApiModelProperty(name = "软硬件类型")
    private Integer hardSoftType;

    /**
     * 数据共享
     */
    @ApiModelProperty(name = "数据共享")
    private Integer dataShareType;

    /**
     * 安全等级
     */
    @ApiModelProperty(name = "安全等级")
    private Integer secureLevel;

    /**
     * 是否采购秘密设备
     */
    @ApiModelProperty(name = "是否采购秘密设备")
    private Integer pwdDeviceNeed;

    @ApiModelProperty(name = "申报函Id")
    private Long declareLetterId;

    @ApiModelProperty(name = "预算表Id")
    private Long budgetTableId;

    @ApiModelProperty(name = "数据目录Id")
    private Long dataCatalogId;

    @ApiModelProperty(name = "申报书Id")
    private Long declareBookId;

    @ApiModelProperty(name = "技术方案Id")
    private Long technicalProposalId;

    @ApiModelProperty(name = "其他材料Id")
    private Long otherDataId;

}
